import { getJokeListAPI } from "../../api/index"

// pages/joke/joke.ts
interface JokeData {
  list: string[]
}

Page({
 loading: false, // 阀门控制
  /**
   * 页面的初始数据
   */
  data: {
    refreshIng: false,
    list: [] as string[]
  },
  // 下拉方法
  async refresh() {
    // 下拉刷新
    wx.showLoading({ title: '刷新中...' })
    await this.getJokeList()
    this.setData({ refreshIng: false }) // 关闭下拉刷新状态
    wx.hideLoading()
  },
  // 加载下一页数据
  async loadData() {
    // 确定没有人占用！！！ 你才可以占用
    if(!this.loading) {
      wx.showLoading({ title: '加载中' })
      this.loading = true // 占用这个坑位
      // 加载下一页数据 追加到当前页数据的后面
      const list = await getJokeListAPI({ num: 10 })
      this.setData({
        list: [...this.data.list, ...list] // 合并到一起
      })
      wx.hideLoading()
      this.loading = false
      // this.setData({ loading: true }) 
      // setData设置的是data中的数据 保证的这个数据变化驱动视图的变化
    }
   // wx.showToast({ title: '加载' })
  },

  async getJokeList() {
    const list = await getJokeListAPI({ num: 10 })
    this.setData({
      list
    })

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.getJokeList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})